home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / internet / yam_i_dodatki / yamconfigde1.2 / configyam.rexx < prev    next >
OS/2 REXX Batch file  |  1997-09-06  |  38KB  |  1,108 lines

  1. /******************************************************************************/
  2. /*                                                                            */
  3. /*                          ConfigYam.rexx                                    */
  4. /*                 Copyright ©1997 by Dick Whiting                            */
  5. /*                                                                            */
  6. /*----------------------------------------------------------------------------*/
  7. /*                 This version requires MuiRexx 3.0a+                        */
  8. /*----------------------------------------------------------------------------*/
  9. /* This allows you to easily modify the order of folders in the Yam config,   */
  10. /* rename the actual mail folders, and edit other entries. Now provides an    */
  11. /* easy way of modifying filters and their order.                             */
  12. /*                                                                            */
  13. /*                    !!KNOW WHAT YOU ARE DOING!!!                            */
  14. /*                                                                            */
  15. /* Turn on 'help bubbles' and USE them!!                                      */
  16. /*                                                                            */
  17. /*----------------------------------------------------------------------------*/
  18. /* Select the configuration file, use drag-and-drop to reorder the lists,     */
  19. /* edit as allowed.                                                           */
  20. /*----------------------------------------------------------------------------*/
  21. /*                                                                            */
  22. /* Standard Disclaimer: I wrote it, it works for me, I don't guarantee        */
  23. /* that it will do anything productive for anyone else, etc. etc. ;-)         */
  24. /*                                                                            */
  25. /*HOWEVER, if you DO find a use for it: I homeschool my kids and they         */
  26. /*would love a postcard from where EVER you live.                             */
  27. /*                                                                            */
  28. /*Instant GEOGRAPHY lesson;)                                                  */
  29. /*                                                                            */
  30. /*                                                                            */
  31. /*POSTCARDS:    Dick Whiting                                                  */
  32. /*              28590 S. Beavercreek Rd.                                      */
  33. /*              Mulino, Oregon 97042                                          */
  34. /*              USA                                                           */
  35. /*                                                                            */
  36. /*----------------------------------------------------------------------------*/
  37. /*                                                                            */
  38. /*               Address Bug Reports or Comments to:                          */
  39. /*                Dick Whiting <dwhiting@europa.com>                          */
  40. /*                         28 August 1997                                     */
  41. /*                                                                            */
  42. /******************************************************************************/
  43. /*
  44. $VER: 1.2 Copyright ©1997 by Dick Whiting
  45. $AUTHOR: Dick Whiting
  46. $DESCRIPTION: Quick config changes for Yam.
  47. */
  48.  
  49. options results
  50. options failat 21
  51.  
  52. parse arg mainparm subparm
  53.  
  54. /**************************************************************************/
  55. /*                         Initialize Variables                           */
  56. /**************************************************************************/
  57. Call MUIvars                                /* go define vars for MUI use */
  58. Call CYvars                                 /* various values used in CY  */
  59. Call Helpvars                               /* pointers into HELP guide   */
  60. Call Localize                               /* vars for localizing strings*/
  61. Call Builtvars                              /* built using previous values*/
  62.  
  63. Address CONFIGYAM
  64.  
  65. Select
  66.    when mainparm='' then do
  67.       Call CheckDup
  68.       Call BuildWindow
  69.    end
  70.    when mainparm='LOAD' then do
  71.       Call LoadConfig
  72.    end
  73.    when mainparm='DELETEFLD' then do
  74.       Call DeleteFlds
  75.    end
  76.    when mainparm='EDITFLD' then do
  77.       Call EditFlds
  78.    end
  79.    when mainparm='INSERTFLD' then do
  80.       Call InsertFlds
  81.    end
  82.    when mainparm='STOREFLD' then do
  83.       Call StoreFlds
  84.    end
  85.    when mainparm='DELETERUL' then do
  86.       Call DeleteRuls
  87.    end
  88.    when mainparm='EDITRUL' then do
  89.       Call EditRuls
  90.    end
  91.    when mainparm='INSERTRUL' then do
  92.       Call InsertRuls
  93.    end
  94.    when mainparm='STORERUL' then do
  95.       Call StoreRuls
  96.    end
  97.    when mainparm='DELETEMAIN' then do
  98.       Call DeleteMain
  99.    end
  100.    when mainparm='EDITMAIN' then do
  101.       Call EditMain
  102.    end
  103.    when mainparm='INSERTMAIN' then do
  104.       Call InsertMain
  105.    end
  106.    when mainparm='STOREMAIN' then do
  107.       Call StoreMain
  108.    end
  109.    when mainparm='SAVE' then do
  110.       Call SaveConfig
  111.    end
  112.    when mainparm='SAVEAS' then do
  113.       Call GetFileName
  114.       Call SaveConfig
  115.    end
  116.    when mainparm='QUIT' then do
  117.       'quit' 
  118.    end
  119.    otherwise do
  120.       errmsg=_text._badparm||' '||mainparm
  121.       Call ErrorMsg
  122.    end
  123. end 
  124.  
  125. exit
  126.  
  127. /**************************************************************************/
  128. /*                  Load the config file into the lists                   */
  129. /**************************************************************************/
  130. LoadConfig:   
  131.  
  132.    popasl ID CYCFG
  133.    mfile=result
  134.  
  135.    infotext=_text._loadfile
  136.    infobuttons=''
  137.    showbusy=TRUE
  138.    Call InfoWindow
  139.  
  140.    method ID CYALL MUIM_List_Clear
  141.    method ID CYRLL MUIM_List_Clear
  142.    method ID CYFLD MUIM_List_Clear
  143.  
  144.    fldfound=FALSE
  145.    rulfound=FALSE
  146.  
  147.    if open('IN',mfile,'R') then do
  148.       do until eof('IN')
  149.          linein=readln('IN')
  150.          Select
  151.             when upper(substr(linein,1,6))='FOLDER' then do
  152.                oldnum=word(linein,1)
  153.                oldnum=substr(oldnum,7)
  154.                parse var linein folder '=' linein
  155.                linein=translate(linein,',',';')
  156.                linein=linein||','||oldnum
  157.                list ID CYFLD INSERT POS MUIV_List_Insert_Bottom STRING linein
  158.                if ~fldfound then do
  159.                   list ID CYALL INSERT POS MUIV_List_Insert_Bottom STRING '='_text._fldheader
  160.                   fldfound=TRUE
  161.                end
  162.             end
  163.             when upper(substr(linein,1,4))='RULE' then do
  164.                parse var linein rule '=' linein
  165.                linein=translate(linein,',',';')
  166.                linein=strip(linein,'B')
  167.                list ID CYRLL INSERT POS MUIV_List_Insert_Bottom STRING linein
  168.                if ~rulfound then do
  169.                   list ID CYALL INSERT POS MUIV_List_Insert_Bottom STRING '='_text._rulheader
  170.                   rulfound=TRUE
  171.                end
  172.             end
  173.             otherwise do
  174.                list ID CYALL INSERT POS MUIV_List_Insert_Bottom STRING '='linein
  175.             end
  176.          end
  177.       end
  178.       foo=close('IN')
  179.       window ID CYINF close
  180.    end
  181.    else do
  182.       errmsg=_text._badfile
  183.       Call ErrorMsg
  184.       exit     
  185.    end
  186.  
  187. Return
  188.  
  189. /**************************************************************************/
  190. /*                        Delete line from Main Configuration             */
  191. /**************************************************************************/
  192. DeleteMain:
  193.  
  194.    list ID CYALL ATTRS MUIA_List_Active
  195.    mainpos=result
  196.  
  197.    list ID CYALL POS mainpos
  198.    oldline=result
  199.    oldparm=upper(strip(word(oldline,1),'B'))
  200.    errflag=FALSE
  201.  
  202.    select
  203.       when oldline=_text._fldheader then errflag=TRUE
  204.       when oldline=_text._rulheader then errflag=TRUE
  205.       when oldparm=_text._pasheader then errflag=TRUE
  206.       when index(oldline,_text._yamheader)>0 then errflag=TRUE
  207.       otherwise do
  208.          list ID CYALL REMOVE POS mainpos
  209.       end
  210.    end
  211.  
  212.    if errflag then do
  213.       errmsg=_text._protected  
  214.       Call ErrorMsg
  215.       exit
  216.    end
  217.    
  218. Return
  219.  
  220. /**************************************************************************/
  221. /*                        Edit Main Configuration                         */
  222. /**************************************************************************/
  223. EditMain:
  224.  
  225.    list ID CYALL ATTRS MUIA_List_Active
  226.    mainpos=result
  227.  
  228.    list ID CYALL POS mainpos
  229.    oldline=result
  230.    oldparm=upper(strip(word(oldline,1),'B'))
  231.    errflag=FALSE
  232.  
  233.    select
  234.       when oldline=_text._fldheader then errflag=TRUE
  235.       when oldline=_text._rulheader then errflag=TRUE
  236.       when oldparm=_text._pasheader then errflag=TRUE
  237.       when index(oldline,_text._yamheader)>0 then errflag=TRUE
  238.       otherwise do
  239.          string ID CYMCS CONTENT oldline
  240.       end
  241.    end
  242.  
  243.    if errflag then do
  244.       errmsg=_text._protected  
  245.       Call ErrorMsg
  246.       exit
  247.    end
  248.  
  249.     
  250. Return
  251.  
  252. /**************************************************************************/
  253. /*                        Insert New folder in Config                     */
  254. /**************************************************************************/
  255. InsertMain:
  256.  
  257.  
  258.    list ID CYALL ATTRS MUIA_List_Active
  259.    mainpos=result+1
  260.  
  261.    string ID CYMCS 
  262.    mainentry=result
  263.  
  264.    list ID CYALL INSERT POS mainpos STRING '='mainentry
  265.  
  266. Return
  267.  
  268. /**************************************************************************/
  269. /*                        Store Main Configuration Entry                  */
  270. /**************************************************************************/
  271. StoreMain:
  272.  
  273.    string ID CYMCS
  274.    mainentry=result
  275.    list ID CYALL ATTRS MUIA_List_Active
  276.    mainpos=result
  277.    list ID CYALL POS mainpos STRING '='mainentry  
  278.  
  279. Return
  280.  
  281. /**************************************************************************/
  282. /*                        Delete a folder from the Config                 */
  283. /**************************************************************************/
  284. DeleteFlds:
  285.  
  286.    list ID CYFLD ATTRS MUIA_List_Active
  287.    fldpos=result
  288.    if fldpos<4 then do
  289.       errmsg=_text._baddelete
  290.       Call ErrorMsg
  291.    end
  292.    else do
  293.       list ID CYFLD REMOVE POS fldpos
  294.    end
  295.  
  296. Return
  297.  
  298. /**************************************************************************/
  299. /*                        Edit Folder Entry                               */
  300. /**************************************************************************/
  301. EditFlds:
  302.  
  303.    list ID CYFLD ATTRS MUIA_List_Active
  304.    fldpos=result
  305.    list ID CYFLD POS fldpos
  306.    oldline=result
  307.    parse var oldline ftype ',' fsort ',' ffile ',' fname ',' oldnum
  308.    string ID CYFL1 CONTENT fsort
  309.    string ID CYFL2 CONTENT ffile
  310.    string ID CYFL3 CONTENT fname
  311.  
  312. Return
  313.  
  314. /**************************************************************************/
  315. /*                        Insert New folder in Config                     */
  316. /**************************************************************************/
  317. InsertFlds:
  318.  
  319.    ftype=2
  320.  
  321.    list ID CYFLD ATTRS MUIA_List_Entries
  322.    oldnum=result+1
  323.  
  324.    list ID CYFLD ATTRS MUIA_List_Active
  325.    fldpos=result+1
  326.  
  327.    if fldpos<4 then fldpos=4       /* force after system folders */
  328.  
  329.    string ID CYFL1 
  330.    fsort=result
  331.  
  332.    string ID CYFL2 
  333.    ffile=result
  334.  
  335.    string ID CYFL3 
  336.    fname=result
  337.  
  338.    newline=ftype||comma||fsort||comma||ffile||comma||fname
  339.  
  340.    list ID CYFLD INSERT POS fldpos STRING newline
  341.  
  342. Return
  343.  
  344. /**************************************************************************/
  345. /*                        Store Folder Entry                              */
  346. /**************************************************************************/
  347. StoreFlds:
  348.  
  349.    list ID CYFLD ATTRS MUIA_List_Active
  350.    fldpos=result
  351.    list ID CYFLD POS fldpos
  352.    oldline=result
  353.    parse var oldline ftype ',' fsort ',' ffile ',' fname ',' oldnum
  354.  
  355.    select
  356.       when subparm=1 then do
  357.          string ID CYFL1 
  358.          newfsort=result
  359.          if newfsort>=0 & newfsort<=3 then fsort=newfsort
  360.       end
  361.       when subparm=2 then do
  362.          popasl ID CYMDR
  363.          maildir=strip(result,'B')
  364.          if maildir='' | maildir='RESULT' | ~exists(maildir) then do
  365.              errmsg=_text._badmaildir
  366.              Call ErrorMsg
  367.              exit
  368.          end
  369.          else do
  370.             lastchar=substr(maildir,length(maildir),1)
  371.             if verify(':/',lastchar,'MATCH')=0 then maildir=maildir||'/'
  372.          end
  373.          string ID CYFL2 
  374.          newffile=result
  375.  
  376.          if pos(':',ffile)=0 then tffile=maildir||ffile
  377.                              else tffile=ffile
  378.          if pos(':',newffile)=0 then tnewffile=maildir||newffile
  379.                                 else tnewffile=newffile
  380.          select 
  381.             when strip(newffile,'B')='' then nop
  382.             when exists(tnewffile) & upper(tffile)~=upper(tnewffile) then do
  383.                errmsg=_text._newexists
  384.                Call ErrorMsg
  385.                exit
  386.             end
  387.             when strip(ffile,'B')='' & ~exists(tnewffile) then ffile=tnewffile
  388.             when ~exists(tffile) & ~exists(tnewffile) then ffile=tnewffile
  389.             when exists(tffile) & upper(newffile)~=upper(ffile)  then do
  390.                request ID CYREN GADGETS _text._renreq STRING _title._rename
  391.                if result=1 then do
  392.                   address command 'Rename >nil: 'tffile tnewffile ' QUIET'
  393.                   if rc=0 then do
  394.                      ffile=tnewffile
  395.                   end
  396.                   else do 
  397.                      errmsg=_text._badrename||rc
  398.                      Call ErrorMsg
  399.                      exit
  400.                   end 
  401.                end
  402.                else do
  403.                   signal StoreFoldEnd
  404.                end
  405.             end
  406.             otherwise nop
  407.          end   
  408.       end /* end of when subparm=2 condition */
  409.  
  410.       when subparm=3 then do
  411.          string ID CYFL3 
  412.          fname=result
  413.       end
  414.       otherwise nop
  415.    end
  416.  
  417.    newline=ftype||comma||fsort||comma||ffile||comma||fname
  418.    list ID CYFLD ATTRS MUIA_List_Active
  419.    fldpos=result
  420.    list ID CYFLD POS fldpos STRING newline
  421.  
  422. StoreFoldEnd:
  423.  
  424. Return
  425.  
  426. /* clone for rules */
  427. /**************************************************************************/
  428. /*                        Delete a Filter from the Config                 */
  429. /**************************************************************************/
  430. DeleteRuls:
  431.  
  432.    list ID CYRLL ATTRS MUIA_List_Active
  433.    rulpos=result
  434.    list ID CYRLL REMOVE POS rulpos
  435.  
  436. Return
  437.  
  438. /**************************************************************************/
  439. /*                        Edit Filter Entry                               */
  440. /**************************************************************************/
  441. EditRuls:
  442.  
  443.    list ID CYRLL ATTRS MUIA_List_Active
  444.    rulpos=result
  445.    list ID CYRLL POS rulpos
  446.    oldline=result
  447.    parse var oldline rl1 ',' rl2 ',' rl3 ',' rl4 ',' rl5 ',' rl6 ',' rl7 ',' rl8 ',' rl9
  448.  
  449.    string ID CYRL1 CONTENT strip(rl1,'B')
  450.    string ID CYRL2 CONTENT strip(rl2,'B')
  451.    string ID CYRL3 CONTENT strip(rl3,'B')
  452.    string ID CYRL4 CONTENT strip(rl4,'B')
  453.    string ID CYRL5 CONTENT strip(rl5,'B')
  454.    string ID CYRL6 CONTENT strip(rl6,'B')
  455.    string ID CYRL7 CONTENT strip(rl7,'B')
  456.    string ID CYRL8 CONTENT strip(rl8,'B')
  457.    string ID CYRL9 CONTENT strip(rl9,'B')
  458.  
  459. Return
  460.  
  461. /**************************************************************************/
  462. /*                        Insert New Filter in Config                     */
  463. /**************************************************************************/
  464. InsertRuls:
  465.  
  466.    ftype=2
  467.  
  468.    list ID CYRLL ATTRS MUIA_List_Entries
  469.    oldnum=result+1
  470.  
  471.    string ID CYRL1 
  472.    rl1=result
  473.  
  474.    string ID CYRL2 
  475.    rl2=result
  476.  
  477.    string ID CYRL3 
  478.    rl3=result
  479.  
  480.    string ID CYRL4 
  481.    rl4=result
  482.  
  483.    string ID CYRL5 
  484.    rl5=result
  485.  
  486.    string ID CYRL6 
  487.    rl6=result
  488.  
  489.    string ID CYRL7 
  490.    rl7=result
  491.  
  492.    string ID CYRL8 
  493.    rl8=result
  494.  
  495.    string ID CYRL9 
  496.    rl9=result
  497.  
  498.    newline=rl1||comma||rl2||comma||rl3||comma||rl4||comma||rl5||comma||rl6||comma||rl7||comma||rl8||comma||rl9
  499.  
  500.    list ID CYRLL INSERT POS rulpos STRING newline
  501.  
  502. Return
  503.  
  504. /**************************************************************************/
  505. /*                        Store Filter Entry                              */
  506. /**************************************************************************/
  507. StoreRuls:
  508.  
  509.    list ID CYRLL ATTRS MUIA_List_Active
  510.    rulpos=result
  511.  
  512.    list ID CYRLL POS rulpos
  513.    oldline=result
  514.  
  515.    parse var oldline rl1 ',' rl2 ',' rl3 ',' rl4 ',' rl5 ',' rl6 ',' rl7 ',' rl8 ',' rl9
  516.  
  517.    select
  518.       when subparm=1 then do
  519.          string ID CYRL1 
  520.          rl1=strip(upper(result),'B')
  521.       end
  522.       when subparm=2 then do
  523.          string ID CYRL2 
  524.          rl2=strip(result,'B')
  525.       end
  526.       when subparm=3 then do
  527.          string ID CYRL3 
  528.          rl3=strip(result,'B')
  529.       end
  530.       when subparm=4 then do
  531.          string ID CYRL4 
  532.          rl4=strip(upper(result),'B')
  533.       end
  534.       when subparm=5 then do
  535.          string ID CYRL5 
  536.          rl5=strip(upper(result),'B')
  537.       end
  538.       when subparm=6 then do
  539.          string ID CYRL6 
  540.          rl6=strip(result,'B')
  541.       end
  542.       when subparm=7 then do
  543.          string ID CYRL7 
  544.          rl7=strip(result,'B')
  545.       end
  546.       when subparm=8 then do
  547.          string ID CYRL8 
  548.          rl8=strip(result,'B')
  549.       end
  550.       when subparm=9 then do
  551.          string ID CYRL9 
  552.          rl9=strip(result,'B')
  553.       end
  554.       otherwise nop
  555.    end
  556.  
  557.    newline=rl1||comma||rl2||comma||rl3||comma||rl4||comma||rl5||comma||rl6||comma||rl7||comma||rl8||comma||rl9
  558.  
  559.    list ID CYRLL ATTRS MUIA_List_Active
  560.    rulpos=result
  561.  
  562.    list ID CYRLL POS rulpos STRING newline
  563.  
  564. StoreRuleEnd:
  565.  
  566. Return
  567.  
  568. /**************************************************************************/
  569. /*                        Get Filename for SAVEAS                         */
  570. /**************************************************************************/
  571. GetFileName:
  572.  
  573.    popasl ID CYCFG
  574.    configfile=result
  575.  
  576.    savfile=''
  577.    select
  578.       when lastpos('/',configfile)>0 then do
  579.          savdir=substr(configfile,1,lastpos('/',configfile)-1)
  580.       end
  581.       when lastpos(':',configfile)>0 then do
  582.          savdir=substr(configfile,1,lastpos(':',configfile))
  583.       end
  584.       otherwise do
  585.          savdir="""T:"""
  586.       end
  587.    end
  588.  
  589.    aslrequest ID CYWIN TITLE _title._asl,
  590.               ATTRS ASLFR_InitialDrawer savdir ASLFR_InitialFile savfile 
  591.  
  592.    if rc = 0 then do
  593.       configfile=result
  594.       popasl ID CYCFG content configfile
  595.    end
  596.    else do
  597.       exit
  598.    end
  599.  
  600. Return
  601.  
  602. /**************************************************************************/
  603. /*                         Save Configuration                             */
  604. /**************************************************************************/
  605. SaveConfig:
  606.  
  607.    popasl ID CYCFG
  608.    configfile=result
  609.  
  610.    if ~open('OUT',configfile,'W') then do
  611.       errmsg=_text._badsavefile
  612.       Call ErrorMsg
  613.       exit
  614.    end
  615.  
  616.    infotext=_text._savingfile
  617.    infobuttons=''
  618.    showbusy=TRUE
  619.    Call InfoWindow
  620.  
  621.    list ID CYALL ATTRS MUIA_List_Entries
  622.    acnt=result
  623.  
  624.    list ID CYFLD ATTRS MUIA_List_Entries
  625.    ocnt=result
  626.  
  627.    list ID CYRLL ATTRS MUIA_List_Entries
  628.    rcnt=result
  629.  
  630.    do i=0 to acnt-1
  631.       list ID CYALL POS i
  632.       lineout=result
  633.       select
  634.          when lineout=_text._fldheader then do
  635.             do j=0 to ocnt-1
  636.                list ID CYFLD POS j
  637.                lineout=result
  638.                parse var lineout ftype ',' fsort ',' ffile ',' fname ',' oldnum
  639.                lineout=ftype||';'||fsort||';'||ffile||';'||fname
  640.                fldnum='Folder'||j
  641.                lineout=left(fldnum,16,' ')||'='||lineout
  642.                foo=writeln('OUT',lineout)
  643.             end
  644.          end
  645.          when lineout=_text._rulheader then do
  646.             do j=0 to rcnt-1
  647.                list ID CYRLL POS j
  648.                lineout=result
  649.                lineout=translate(lineout,';',',')
  650.                rulnum='Rule'||j
  651.                lineout=left(rulnum,16,' ')||'= '||lineout
  652.                foo=writeln('OUT',lineout)
  653.             end
  654.          end
  655.          otherwise do
  656.             foo=writeln('OUT',lineout)
  657.          end
  658.       end
  659.    end
  660.  
  661.    foo=close('OUT')
  662.    window ID CYINF close
  663.  
  664. Return
  665.  
  666. /**************************************************************************/
  667. /*              Make sure there isn't one running already.                */
  668. /**************************************************************************/
  669. CheckDup:
  670.  
  671.    list ID CYALL ATTRS MUIA_List_Entries
  672.    if result~='RESULT' then do
  673.       errmsg=_text._secondrun
  674.       Call ErrorMsg
  675.       exit
  676.    end
  677.  
  678. Return
  679.  
  680. /******************************************************************************/
  681. /*  Display ERROR message and EXIT.                                           */
  682. /******************************************************************************/
  683. ErrorMsg:
  684.  
  685.    window ID CYERR CLOSE
  686.  
  687.    request ID ERRM GADGETS  _text._ok errmsg
  688.  
  689.    exit
  690.  
  691. Return
  692.  
  693. /******************************************************************************/
  694. /*  Display ConfigYam window.                                                 */
  695. /******************************************************************************/
  696. BuildWindow:
  697.  
  698.    window ID CYWIN TITLE _title._main,        
  699.           COMMAND '"ConfigYam.rexx QUIT"'
  700.  
  701.         group
  702.          group HORIZ 
  703.                 popasl ID CYCFG HELP help.CYCFG CONTENT Yconfig
  704.                 popasl ID CYMDR HELP help.CYMDR CONTENT maildir
  705.             button ID CYPR0 COMMAND '"ConfigYam.rexx LOAD"',
  706.                     HELP help.CYPR0,
  707.                 ATTRS MUIA_HorizWeight 20,
  708.                      LABEL _label._CYPR0
  709.             button ID CYPR3 HELP help.CYPR3,
  710.                 ATTRS MUIA_HorizWeight 20,
  711.                 LABEL _label._CYPR3
  712.             button ID CYPR4 HELP help.CYPR4,
  713.                 ATTRS MUIA_HorizWeight 20,
  714.                 LABEL _label._CYPR4
  715.          endgroup
  716.  
  717. /* list for main configuration */
  718.  
  719.          group ID CYMCC ATTRS MUIA_ShowMe FALSE
  720.             list ID CYALL HELP help.CYALL,
  721.                  COMMAND '"ConfigYam.rexx EDITMAIN"'
  722.             group HORIZ 
  723.                string ID CYMCS HELP help.CYMCS,
  724.                     COMMAND '"ConfigYam.rexx STOREMAIN"'
  725.                button ID CYMCZ HELP help.CYMCZ,
  726.                    COMMAND '"ConfigYam.rexx DELETEMAIN"',
  727.                    ATTRS MUIA_HorizWeight 20,
  728.                          LABEL _label._CYMCZ
  729.                button ID CYMCI HELP help.CYMCI,
  730.                    COMMAND '"ConfigYam.rexx INSERTMAIN"',
  731.                    ATTRS MUIA_HorizWeight 20,
  732.                          LABEL _label._CYMCI
  733.                button ID CYMCX HELP help.CYMCX,
  734.                    ATTRS MUIA_HorizWeight 10,
  735.                          LABEL _label._CYMCX
  736.             endgroup
  737.          endgroup
  738.  
  739. /* list for filter rules */
  740.  
  741.          group ID CYRUL
  742.             list ID CYRLL HELP help.CYRLL,
  743.                  ATTRS MUIA_Listview_DragType MUIV_Listview_DragType_Immediate, 
  744.                     MUIA_List_ShowDropMarks TRUE,  
  745.                     MUIA_List_DragSortable TRUE,
  746.                     MUIA_Dropable TRUE,
  747.                     MUIA_List_Format """BAR,BAR,BAR,BAR,BAR,BAR,BAR,BAR,""" 
  748.             group HORIZ
  749.                string ID CYRL1 HELP help.CYRL1,
  750.                    COMMAND '"ConfigYam.rexx STORERUL 1"',
  751.                    ATTRS MUIA_HorizWeight 5 MUIA_String_Accept yesno,
  752.                    MUIA_CycleChain TRUE
  753.                string ID CYRL2 HELP help.CYRL2,
  754.                    COMMAND '"ConfigYam.rexx STORERUL 2"',
  755.                    ATTRS MUIA_HorizWeight 200 MUIA_CycleChain TRUE
  756.                string ID CYRL3 HELP help.CYRL3,
  757.                    COMMAND '"ConfigYam.rexx STORERUL 3"',
  758.                    ATTRS MUIA_HorizWeight 5 MUIA_String_Accept optnums,
  759.                    MUIA_CycleChain TRUE
  760.                string ID CYRL4 HELP help.CYRL4,
  761.                    COMMAND '"ConfigYam.rexx STORERUL 4"',
  762.                    ATTRS MUIA_HorizWeight 5 MUIA_String_Accept yesno,
  763.                    MUIA_CycleChain TRUE
  764.                string ID CYRL5 HELP help.CYRL5,
  765.                    COMMAND '"ConfigYam.rexx STORERUL 5"',
  766.                    ATTRS MUIA_HorizWeight 5 MUIA_String_Accept yesno,
  767.                    MUIA_CycleChain TRUE
  768.                string ID CYRL6 HELP help.CYRL6,
  769.                    COMMAND '"ConfigYam.rexx STORERUL 6"',
  770.                    ATTRS MUIA_HorizWeight 200 MUIA_CycleChain TRUE
  771.                string ID CYRL7 HELP help.CYRL7,
  772.                    COMMAND '"ConfigYam.rexx STORERUL 7"',
  773.                    ATTRS MUIA_HorizWeight 5 MUIA_String_Accept optnums,
  774.                    MUIA_CycleChain TRUE
  775.                string ID CYRL8 HELP help.CYRL8,
  776.                    COMMAND '"ConfigYam.rexx STORERUL 8"',
  777.                    ATTRS MUIA_HorizWeight 200 MUIA_CycleChain TRUE
  778.                string ID CYRL9 HELP help.CYRL9,
  779.                    COMMAND '"ConfigYam.rexx STORERUL 9"',
  780.                    ATTRS MUIA_HorizWeight 200 MUIA_CycleChain TRUE
  781.             endgroup
  782.             group HORIZ
  783.                space HORIZ
  784.                button ID CYRLZ HELP help.CYRLZ,
  785.                    COMMAND '"ConfigYam.rexx DELETERUL"',
  786.                    ATTRS MUIA_HorizWeight 20,
  787.                          LABEL _label._CYRLZ
  788.                button ID CYRLI HELP help.CYRLI,
  789.                    COMMAND '"ConfigYam.rexx INSERTRUL"',
  790.                    ATTRS MUIA_HorizWeight 20,
  791.                          LABEL _label._CYRLI
  792.                button ID CYRLX HELP help.CYRLX,
  793.                    ATTRS MUIA_HorizWeight 20,
  794.                          LABEL _label._CYRLX
  795.             endgroup
  796.          endgroup
  797.  
  798. /* list for folders */
  799.  
  800.          group ID CYFLG
  801.             list ID CYFLD HELP help.CYFLD,
  802.                  ATTRS MUIA_Listview_DragType MUIV_Listview_DragType_Immediate, 
  803.                     MUIA_List_ShowDropMarks TRUE,  
  804.                     MUIA_List_DragSortable TRUE,
  805.                     MUIA_Dropable TRUE,
  806.                     MUIA_List_Format """WEIGHT=0 MAXWIDTH=0 MINWIDTH=0,BAR,BAR,,WEIGHT=0 MAXWIDTH=0 MINWIDTH=0""" 
  807.             group HORIZ
  808.                string ID CYFL1 HELP help.CYFL1,
  809.                    COMMAND '"ConfigYam.rexx STOREFLD 1"',
  810.                    ATTRS MUIA_HorizWeight 10 MUIA_String_Accept sortnums,
  811.                    MUIA_CycleChain TRUE
  812.                string ID CYFL2 HELP help.CYFL2,
  813.                    COMMAND '"ConfigYam.rexx STOREFLD 2"',
  814.                    ATTRS MUIA_HorizWeight 100 MUIA_CycleChain TRUE
  815.                string ID CYFL3 HELP help.CYFL3,
  816.                    COMMAND '"ConfigYam.rexx STOREFLD 3"',
  817.                    ATTRS MUIA_HorizWeight 100 MUIA_CycleChain TRUE
  818.                button ID CYFLZ HELP help.CYFLZ,
  819.                    COMMAND '"ConfigYam.rexx DELETEFLD"',
  820.                    ATTRS MUIA_HorizWeight 20,
  821.                          LABEL _label._CYFLZ
  822.                button ID CYFLI HELP help.CYFLI,
  823.                    COMMAND '"ConfigYam.rexx INSERTFLD"',
  824.                    ATTRS MUIA_HorizWeight 20,
  825.                          LABEL _label._CYFLI
  826.                button ID CYFLX HELP help.CYFLX,
  827.                    ATTRS MUIA_HorizWeight 20,
  828.                          LABEL _label._CYFLX
  829.             endgroup
  830.          endgroup
  831.         endgroup
  832.       group HORIZ 
  833.          button ID CYPR1 COMMAND '"ConfigYam.rexx SAVE"',
  834.                     HELP help.CYPR1,
  835.                      LABEL _label._CYPR1
  836.          button ID CYPR2 COMMAND '"ConfigYam.rexx SAVEAS"',  
  837.                    HELP help.CYPR2,
  838.                 LABEL _label._CYPR2                            
  839.          space
  840.          button ID CYPRQ COMMAND '"ConfigYam.rexx QUIT"',
  841.                     HELP help.CYPRQ,
  842.                      LABEL _label._CYPRQ
  843.       endgroup
  844.  
  845.    endwindow
  846.  
  847.    callhook ID CYPR3 PRESS PORT INLINE,
  848.       COMMAND """options results;
  849.                  Address CONFIGYAM;
  850.                  group ID CYRUL ATTRS " MUIA_ShowMe TRUE";
  851.                  group ID CYFLG ATTRS " MUIA_ShowMe TRUE";
  852.                  group ID CYMCC ATTRS " MUIA_ShowMe FALSE";"""
  853.  
  854.    callhook ID CYPR4 PRESS PORT INLINE,
  855.       COMMAND """options results;
  856.                  Address CONFIGYAM;
  857.                  group ID CYMCC ATTRS " MUIA_ShowMe TRUE";
  858.                  group ID CYRUL ATTRS " MUIA_ShowMe FALSE";
  859.                  group ID CYFLG ATTRS " MUIA_ShowMe FALSE";"""
  860.  
  861.    callhook ID CYMCX PRESS PORT INLINE,
  862.       COMMAND """options results;
  863.                  Address CONFIGYAM;
  864.                  group ID CYRUL ATTRS " MUIA_ShowMe TRUE";
  865.                  group ID CYFLG ATTRS " MUIA_ShowMe TRUE";
  866.                  group ID CYMCC ATTRS " MUIA_ShowMe FALSE";"""
  867.  
  868.    callhook ID CYFLX PRESS PORT INLINE,
  869.       COMMAND """options results;
  870.                  Address CONFIGYAM;
  871.                  group ID CYRUL ATTRS " MUIA_ShowMe TRUE";
  872.                  group ID CYFLG ATTRS " MUIA_ShowMe FALSE";"""
  873.  
  874.    callhook ID CYRLX PRESS PORT INLINE,
  875.       COMMAND """options results;
  876.                  Address CONFIGYAM;
  877.                  group ID CYFLG ATTRS " MUIA_ShowMe TRUE";
  878.                  group ID CYRUL ATTRS " MUIA_ShowMe FALSE";"""
  879.  
  880.    callhook ID CYFLD PRESS COMMAND '"ConfigYam.rexx EDITFLD"'
  881.    callhook ID CYRLL PRESS COMMAND '"ConfigYam.rexx EDITRUL"'
  882.        
  883. Return
  884.  
  885.  
  886. /******************************************************************************/
  887. /*  Simple information/error message window.                                  */
  888. /******************************************************************************/
  889. InfoWindow:
  890.  
  891.    window ID CYINF TITLE _title._info 
  892.  
  893.       group 
  894.          group 
  895.             text ID STEXT HELP help.STEXT LABEL infotext
  896.          endgroup
  897.          if showbusy then do
  898.             group
  899.                object CLASS '"Busy.mcc"' ATTRS MUIA_VertWeight 25
  900.             endgroup
  901.          end
  902.          if infobuttons ~='' then do
  903.             group HORIZ
  904.                group 
  905.                   space HORIZ 
  906.                endgroup
  907.                group 
  908.                   radio ID SQUIT HELP help.SQUIT LABELS infobuttons
  909.                endgroup
  910.                group 
  911.                   space HORIZ 
  912.                endgroup
  913.             endgroup
  914.          end
  915.          else do
  916.             group 
  917.                space HORIZ 100
  918.             endgroup
  919.          end
  920.       endgroup
  921.    endwindow
  922.  
  923. Return
  924.  
  925. /******************************************************************************/
  926. /*                      MUIREXX TAGS & VARIABLES                              */
  927. /******************************************************************************/
  928. Muivars:
  929.  
  930. MUIA_CycleChain =           0x80421ce7
  931. MUIA_Disabled =             0x80423661
  932. MUIA_Draggable =            0x80420b6e 
  933. MUIA_Dropable =             0x8042fbce 
  934. MUIA_HorizWeight =          0x80426db9
  935. MUIA_List_Active =          0x8042391c 
  936. MUIA_List_DragSortable =    0x80426099
  937. MUIA_List_Format =          0x80423c0a 
  938. MUIA_List_Entries =         0x80421654 
  939. MUIA_List_Quiet =           0x8042d8c7
  940. MUIA_List_ShowDropMarks =   0x8042c6f3 
  941. MUIA_List_Visible =         0x8042191f
  942. MUIA_Listview_DragType =    0x80425cd3
  943. MUIA_Listview_MultiSelect = 0x80427e08
  944. MUIA_Selected =             0x8042654b
  945. MUIA_ShowMe =               0x80429ba8
  946. MUIA_String_Accept =        0x8042e3e1
  947. MUIA_VertWeight =           0x804298d0 
  948. MUIA_Weight =               0x80421d1f 
  949. MUIA_Window_DepthGadget  =  0x80421923
  950. MUIA_Window_PublicScreen =  0x804278e4
  951.  
  952. ASLFR_InitialFile =         0x80080008
  953. ASLFR_InitialDrawer =       0x80080009
  954.  
  955. MUIM_List_Clear =           0x8042ad89
  956. MUIM_List_Select =          0x804252d8 
  957.  
  958. TRUE=1
  959. FALSE=0
  960.  
  961. MUIV_List_Insert_Bottom = -3
  962. MUIV_List_Select_Off = 0
  963. MUIV_List_Select_On = 1
  964. MUIV_Listview_DragType_Immediate = 1
  965. MUIV_Listview_MultiSelect_Shifted = 2
  966.  
  967. Return
  968.  
  969. /**************************************************************************/
  970. /*           Various values used throughout the various routines          */
  971. /**************************************************************************/
  972. CYvars:
  973.  
  974. missing='.'
  975. comma=','
  976. tab='09'x                                   /* tab character              */
  977. sortnums='"=0123"'                          /* valid sort numbers         */
  978. yesno='"ynYN"'                              /* only Y or N valid          */
  979. optnums='"=012"'                            /* rule options               */
  980. bo='\033b'                                  /* print control BOLD         */
  981. bc='\033b\033c'                             /* print control BOLD CENTER  */
  982.  
  983. yconfig="Yam:.config"
  984. maildir="Yam:"
  985.  
  986. _text._fldheader="ConfigYam..Insert FOLDERS here"
  987. _text._rulheader="ConfigYam..Insert RULES here"
  988. _text._yamheader="YAM Configuration"
  989. _text._pasheader="POP3-PASSWORD"
  990.  
  991. Return
  992.  
  993. /**************************************************************************/
  994. /*    Messages, text, etc. constructed using previously defined values    */
  995. /**************************************************************************/
  996. Builtvars:
  997.  
  998. _title._CYALL='"'||bc||_label._cyall'"'
  999. _title._cyfld='"'||bc||_label._cyfld'"'
  1000. _text._renreq='"'||_text._ok||'|'||_text._cancel'"'
  1001.  
  1002. Return
  1003.  
  1004. /**************************************************************************/
  1005. /*               Pointers into the xxxx.guide documentation               */
  1006. /**************************************************************************/
  1007. Helpvars:
  1008.  
  1009. Return
  1010.  
  1011. /**************************************************************************/
  1012. /*       Mui Gadgets, text, msgs, etc. used in ConfigYam                  */
  1013. /**************************************************************************/
  1014. Localize:
  1015.  
  1016. /*********************************/
  1017. /* Miscellaneous info strings    */
  1018. /*********************************/
  1019. _title._main="""ConfigYam v1.2"""           /* main screen title          */
  1020. _title._info="""ConfigYam Info"""           /* default title on infomsg   */
  1021. _title._asl="""Wähle Datei"""               /* title for ASL requester    */
  1022. _title._rename="Ordner umbenennen?"         /* title for ASL requester    */
  1023.  
  1024. _text._ok="Ok"                              /* various OK buttons         */
  1025. _text._cancel="Abbruch"                     /* LABEL for CANCEL button    */
  1026.  
  1027. _label._cypr0="Lade"                        /* label for LOAD button      */
  1028. _label._cypr1="Speichern"                   /* label for SAVE  button     */
  1029. _label._cypr2="Speichern als"               /* label for SAVEAS button    */
  1030. _label._cyprq="Quit"                        /* label for QUIT  button     */
  1031. _label._cypr3="Zeige"
  1032. _label._cypr4="ZeigeH"                      /* show main config list      */
  1033. _label._cyfli="Einfügen"
  1034. _label._cyflx="Verstecken"
  1035. _label._cyflz="Löschen"
  1036. _label._cyrli="Einfügen"
  1037. _label._cyrlx="Verstecken"
  1038. _label._cyrlz="Löschen"
  1039. _label._cymci="Einfügen"
  1040. _label._cymcx="Verstecken"
  1041. _label._cymcz="Löschen"
  1042.  
  1043. _text._savingfile="Speicher Konfiguration Datei..." /* saving file message   */
  1044. _text._loadfile="Bereite Konfiguration Datei vor..." /* preparing file msg   */
  1045.  
  1046. /*********************************/
  1047. /* Various error conditions      */
  1048. /*********************************/
  1049.  
  1050. _text._baddelete="Du kannst keine System Ordner löschen"
  1051. _text._badfile="Kann Konfiguration datei nicht öffnen"
  1052. _text._badmaildir="Wähle gültiges Post Verzeichnis"
  1053. _text._badparm="Unbekannte Werte in ConfigYam:"
  1054. _text._badrename="Umbennen failed..Return Code="
  1055. _text._badsavefile="Kann output datei nicht öffnen"
  1056. _text._newexists="Neuer Dateiname gibt es bereits"
  1057. _text._protected ="Kann diese Linie nicht bearbeiten"
  1058. _text._secondrun="ConfigYam wurde schon gestartet"  /* second run */
  1059.  
  1060. /**************************************************************************/
  1061. /*           Help Messages to display with MUI bubble facility.           */
  1062. /*                                                                        */
  1063. /* Format is simple: help.ID where ID is the id specified on the MUI      */
  1064. /* object statement.                                                      */
  1065. /* Similar approach for accessing the .guide information using the NODE   */
  1066. /* option on the object statement.                                        */
  1067. /*                                                                        */
  1068. /**************************************************************************/
  1069.  
  1070. help.SQUIT=""""""
  1071. help.STEXT=""""""
  1072. help.CYCFG="""Wähle Yam Konfiguration Datei"""
  1073. help.CYMDR="""Wähle Post Verzeichnis"""
  1074. help.CYALL="""Double-click um Eintrag zu bearbeiten.\nIch hoffe du weisst was du tust"""
  1075. help.CYFLD="""Ordner Liste\nBenutze Drag-n-drop zum umordnen\nDouble-click um Eintrag zu bearbeiten\nLasse die ersten 4 in Ruhe"""
  1076. help.CYMCS="""Bearbeite Eintrag im Haupt Konfiguration\nDrücke Return um aktiven Eintrag zu erneuern"""
  1077. help.CYFL1="""Sortiere Anordnung\n0=Neue zuerst\n1=Alte zuerst\n2=Absender\n3=Subject"""
  1078. help.CYFL2="""Aktueller Datei name von Ordner\nSie sind ohne Pfad angenommen\nsie sind im gewählten Post Verzeichnis:"""
  1079. help.CYFL3="""Ordner name"""
  1080. help.CYRL1="""Filter ermöglichen (Y/N)"""
  1081. help.CYRL2="""Filter Name"""
  1082. help.CYRL3="""Filter feld\n0=From\n1=To\n2=Subject"""
  1083. help.CYRL4="""Passende Behälter Form empfindlich (Y/N)"""
  1084. help.CYRL5="""Passende Form ist NICHT genau (Y/N)"""
  1085. help.CYRL6="""Passende Form für filtern"""
  1086. help.CYRL7="""Aktion bei passendes\n0=Bewege zu\n1=Lösche\n2=Nur vorwärts"""
  1087. help.CYRL8="""Bewege zu Ordner"""
  1088. help.CYRL9="""Vorwärts zu addresse/alias"""
  1089. help.CYRLI="""Füge neue Regel ein"""
  1090. help.CYRLL="""Filter Liste\nBenutze Drag-n-drop zum umordnen\nDouble-click um Eintrag zu bearbeiten"""
  1091. help.CYRLX="""Verstecke Regel Liste\nZeige Ordner Liste"""
  1092. help.CYRLZ="""Lösche Regel von der Yam Configuration"""
  1093. help.CYPR3="""Zeige beide Listen"""
  1094. help.CYPR4="""Zeige Haupt Konfig\nVerstecke Ordner Liste\nVerstecke Regel Liste"""
  1095. help.CYFLI="""Füge neuen Ordner ein"""
  1096. help.CYFLX="""Verstecke Ordner Liste\nZeige Regel Liste"""
  1097. help.CYFLZ="""Lösche Ordner von der Yam Konfiguration"""
  1098. help.CYMCI="""Füge neue Linie in Yam Konfiguration ein"""
  1099. help.CYMCX="""Verstecke Haupt Konfig\nZeige Ordner Liste\nZeige Regel Liste"""
  1100. help.CYMCZ="""Lösche Linie von der Yam Konfiguration"""
  1101. help.CYPR0="""Lade gewählte Konfiguration Datei"""
  1102. help.CYPR1="""Speicher gewählte Konfiguration Datei"""
  1103. help.CYPR2="""Speicher Konfiguration als neue Datei"""
  1104. help.CYPRQ="""Quit ConfigYam"""
  1105.  
  1106. Return
  1107.  
  1108.